﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Windows.Forms;
using System.ComponentModel;
using System.Threading;
using System.Runtime.InteropServices;
using System.Security;

namespace 教师管理系统
{
    /// <summary>
    /// 这个对象用于存储程序的全局变量
    /// 该类的全部公开成员为静态成员
    /// </summary>
    public  class GlobleVar
    {
        public GlobleVar()
        {
        }
        /// <summary>
        /// 载入中窗体
        /// </summary>
        static public Splash Splash = new Splash();
        /// <summary>
        /// 显示新窗体的线程
        /// </summary>
        static public Thread Th_Splash = new Thread(new ThreadStart(delegate { Application.Run(Splash); }));
        public delegate void temp();
        public delegate void ChangeText(string text);
        public delegate void SideU_D(int timeout);
        /// <summary>
        /// 应用程序的绝对路径
        /// </summary>
        static public string Apppath = Application.StartupPath;
        /// <summary>
        /// 数据文件存放路径
        /// </summary>
        static public string Datapath=Apppath+"\\Data";
        /// <summary>
        /// 存放用户数据的数据集
        /// </summary>
        static public System.Data.DataSet UserInfo = new System.Data.DataSet();
        /// <summary>
        /// 减少内存占用的设置WorkingSet的线程
        /// </summary>
        static public Thread SetMem = new Thread(new ThreadStart(delegate { while (true) { Thread.Sleep(1000); System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess(); p.MaxWorkingSet = new IntPtr(750000); } }));
        /// <summary>
        /// 用户路径
        /// </summary>
        static public string Userpath;
        /// <summary>
        /// 当前用户
        /// </summary>
        static public User CurrentUser;
        /// <summary>
        /// 用户数据表（登陆后加载）
        /// </summary>
        static public System.Data.DataSet UserSet = new System.Data.DataSet();
    }
    /// <summary>
    /// 窗体动画类
    /// </summary>
    static public class WinAnti
    {
        public const Int32 AW_HOR_POSITIVE = 0x00000001; // 从左到右打开窗口
        public const Int32 AW_HOR_NEGATIVE = 0x00000002; // 从右到左打开窗口
        public const Int32 AW_VER_POSITIVE = 0x00000004; // 从上到下打开窗口
        public const Int32 AW_VER_NEGATIVE = 0x00000008; // 从下到上打开窗口
        public const Int32 AW_CENTER = 0x00000010; //若使用了AW_HIDE标志，则使窗口向内重叠；若未使用AW_HIDE标志，则使窗口向外扩展。
        public const Int32 AW_HIDE = 0x00010000; //隐藏窗口，缺省则显示窗口。
        public const Int32 AW_ACTIVATE = 0x00020000; //激活窗口。在使用了AW_HIDE标志后不要使用这个标志。
        public const Int32 AW_SLIDE = 0x00040000; //使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时，这个标志就被忽略。
        public const Int32 AW_BLEND = 0x00080000; //使用淡出效果。只有当hWnd为顶层窗口的时候才可以使用此标志。
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern bool AnimateWindow(
          IntPtr hwnd, // handle to window 
          int dwTime, // duration of animation 
          int dwFlags // animation type 
          );
    }

}
